﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using WebApplication1.Servidor1;

namespace WebApplication1
{
    public partial class CrearAsientos : System.Web.UI.Page
    {
        string cuenta;
        Service1 servidor;

        protected void Page_Load(object sender, EventArgs e)
        {
            if (Session["NombreUsuario"] == null)
                Response.Redirect("Login.aspx");
            else
            {
                servidor = (Service1)Session["Server"];
                if (!Page.IsPostBack)
                {
                    if (Session["Server"] != null)
                    {
                        List<string> listOfNames = servidor.Obtener_Cuentas(false, Session["NombreEmpresaUsuario"].ToString()).ToList();
                        for (int i = 0; i < listOfNames.Count(); i++)
                            listOfNames[i] = listOfNames[i].Split(';')[0] + ";" + listOfNames[i].Split(';')[1];
                        DropDownList1.DataSource = listOfNames;
                        DropDownList1.DataBind();
                        fecha.Text = DateTime.Now.ToString("dd/MM/yyyy");
                    }
                }
            }
        }

        protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
        {
            DropDownList DropDownList1 = (DropDownList)sender;
            cuenta = DropDownList1.SelectedValue.ToString().Split(';')[0];

        }

        public void Button1_Click(object sender, EventArgs e)
        {
            cuenta = DropDownList1.SelectedItem.Text.Split(';')[0];
            if ((fecha.Text != "") && (fechaDoc.Text != "") && (CuentasList.Items.Count > 0))
            {
                servidor.Crear_Asiento(fecha.Text,fechaDoc.Text, null, null, "AS", Session["NombreEmpresaUsuario"].ToString());
                foreach (var item in CuentasList.Items)
                {
                    String[] elem = item.ToString().Split(';');
                    if (elem[3].Equals("Debe"))
                        servidor.Asociar_AsientoXCuenta(elem[0], 1, elem[2], Session["NombreEmpresaUsuario"].ToString());
                    else
                        servidor.Asociar_AsientoXCuenta(elem[0], 0, elem[2], Session["NombreEmpresaUsuario"].ToString());
                }
            }
            Response.Redirect("VerAsientos.aspx");
        }

        protected void Button2_Click(object sender, EventArgs e)
        {
            if (monto.Text != "")
            {
                String nuevoItem = DropDownList1.SelectedItem.Text;
                nuevoItem += ";"+monto.Text+";";
                if (RadioButtonList1.SelectedIndex == 0)
                    nuevoItem += "Haber";
                else
                    nuevoItem += "Debe";
                CuentasList.Items.Add(nuevoItem);
            }
        }
    }
}